The present invention relates generally to testing of a distributed computing environment. More particularly, it relates to the emulation of multiple local area network clients in a single workstation to test the capacity of a server program.
It has become commonplace to couple data processing systems together in a distributed computer network. One of the more popular paradigms in such a distributed computing network is to divide the functions provided by network software into client applications and server applications. Typically, the client applications are at a data processing system which is more or less dedicated to a single user and tends to be of relatively modest capability when compared the data processing systems elsewhere in the network where the server applications reside. The server applications provide services to multiple client applications such as file and print services as well as other services well known to the art. Newer versions of the server applications continue to become more capable than preceding versions as technology advances, particularly with regard to the number of clients serviced by a single server. At today's level of technology, a single server application may fulfill the requests of more than a thousand client applications.
Naturally, in the development of new client and server programs, the application developer must test the software to determine whether it can actually meet the design requirements, i.e. supporting the desired number of clients. In an ideal world, the developer would have unlimited funds and have a computer network comprising thousands of client machines coupled via one or more networks to the server to determine whether the newly developed application could support the stated number of clients. However, in the real world, funds are not unlimited and such a testing environment would be very expensive.
One known solution for emulating a high number of client workstations in a network is to write a software program which simulates the actions of a user in the network. The program would be copied to provide a plurality of such programs, each of these programs is placed in its own virtual machine in an operating system on a client workstation. Each process acts like a different user in the network, and thus, multiple client applications could be emulated by a single workstation. However, the solution has its limitations in that a typical workstation can only support five virtual machines due to memory and other system constraints. While emulating a thousand users with the prior art solution is an improvement, i.e. reducing a thousand client machine requirement to a two to three hundred client machine requirement, it is still quite expensive.
Thus, the need for improved simulation methods is apparent. One such method is provided by the invention described below.